#ifndef TIMEOUT_H
#define TIMEOUT_H

// 定义超时的结构体
typedef struct timing_s
{
    int socket_fd;	// 存储socket文件描述符
    struct timing_s *next;	// 指向下一个结点
}timing_t; // 存储socketfd的顺序表结点

typedef struct
{
    timing_t *head;	// 头指针标记
    int flag;	// 标记有没有循环过
}timeout_t;		// 循环数组的一个位置

// 添加socketfd到循环数组
int addSocket(const int socket_fd, timeout_t *timeout);

// 根据文件描述符删除socketfd
int deleteSocket(const int socket_fd, timeout_t *timeout);

// 检测是否超时
int timeoutCheck(int socket_fd, int epoll_fd, int idx_fds[], timeout_t *timeout);


#endif
